home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-08-04 | 1.1 KB | 58 lines | [TEXT/PJMM] |
- unit MyTranslate82728;
-
- interface
-
- const
- translateResType = 'taBL';
- translateOutResID = 128;
- translateInresID = 129;
-
- type
- transTable = packed array[char] of char;
-
- procedure GetTrans (id: integer; var trans: transTable);
-
- implementation
-
- uses
- MyNewPreferences, MyFileSystemUtils;
-
- const
- translate_name = 'Translate 7<->8';
-
- procedure GetTrans (id: integer; var trans: transTable);
- var
- th: handle;
- tfs: FSSpec;
- tres, i: integer;
- procedure Openit (fs: FSSPec);
- begin
- fs.name := translate_name;
- MyResolveAliasFile(fs);
- tres := HOpenResFile(fs.vRefNum, fs.parID, fs.name, fsRdPerm);
- end;
- begin
- OpenIt(prefs_fs);
- if tres = -1 then begin
- tfs.vRefNum := the_prefs_folder_vrn;
- tfs.parID := the_prefs_folder_dirID;
- OpenIt(tfs);
- end;
- th := GetResource(translateResType, id);
- if th = nil then begin
- for i := 0 to 255 do begin
- {$PUSH}
- {$R-}
- trans[chr(i)] := chr(i);
- {$POP}
- end;
- end
- else begin
- BlockMove(th^, @trans, SizeOf(trans));
- end;
- if tres <> -1 then begin
- CloseResFile(tres);
- end;
- end;
-
- end.